package com.ruoyi.teacher.mapper;

import java.util.Collection;
import java.util.List;

import com.ruoyi.teacher.api.domain.Campus;
import com.ruoyi.teacher.api.domain.Subject;
import com.ruoyi.teacher.api.domain.TeacherType;
import com.ruoyi.teacher.api.domain.UserToTeacherDto;
import com.ruoyi.teacher.domain.Teacher;
import org.apache.ibatis.annotations.Param;

/**
 * 老师中心Mapper接口
 * 
 * @author clid
 * @date 2024-03-23
 */
public interface TeacherMapper 
{
    /**
     * 查询老师中心
     * 
     * @param id 老师中心主键
     * @return 老师中心
     */
    public Teacher selectTeacherById(Long id);

    /**
     * 查询老师中心列表
     * 
     * @param teacher 老师中心
     * @return 老师中心集合
     */
    public List<Teacher> selectTeacherList(Teacher teacher);

    /**
     * 新增老师中心
     * 
     * @param teacher 老师中心
     * @return 结果
     */
    public int insertTeacher(Teacher teacher);

    /**
     * 修改老师中心
     * 
     * @param teacher 老师中心
     * @return 结果
     */
    public int updateTeacher(Teacher teacher);

    /**
     * 删除老师中心
     * 
     * @param id 老师中心主键
     * @return 结果
     */
    public int deleteTeacherById(Long id);

    /**
     * 批量删除老师中心
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTeacherByIds(Long[] ids);

    List<TeacherType> selectTeacherTypeList();

    List<Campus> loadCampus();

    List<Subject> loadSubjects();

    List<Teacher> loadSuperiorsObj();

    void batchInsert(List<Teacher> teacherList);

    List<Teacher> selectTeacherByUserIds(@Param("userIds") List<String> userIds);

    Teacher findbyLoginId(String userId);

    List<Teacher> findByLoginIdList(Collection<String> teacherIds);
}
